package com.blb.zy_community.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 房间 
 * </p>
 *
 * @author 二组
 * @since 2023-06-18
 */
@TableName("zy_room")
public class ZyRoom implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 房间id
     */
    @TableId(type = IdType.AUTO)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long roomId;

    /**
     * 小区id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long communityId;

    /**
     * 楼栋id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long buildingId;

    /**
     * 单元id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long unitId;

    /**
     * 楼层
     */
    private Integer roomLevel;

    /**
     * 房间编号
     */
    private String roomCode;

    /**
     * 房间名称
     */
    private String roomName;

    /**
     * 房屋建筑面积
     */
    private BigDecimal roomAcreage;

    /**
     * 算费系数
     */
    private BigDecimal roomCost;

    /**
     * 房屋状态
     */
    private String roomStatus;

    /**
     * 是否商铺
     */
    private String roomIsShop;

    /**
     * 是否商品房
     */
    private String roomSCommercialHouse;

    /**
     * 房屋户型
     */
    private String roomHouseType;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 备注
     */
    private String remark;

    /**
     *楼栋对象
     */
    @TableField(exist = false)
    private ZyBuilding building;
    /**
     *小区对象
     */
    @TableField(exist = false)
    private ZyCommunity community;
    /**
     * 单元对象
     */
    @TableField(exist = false)
    private ZyUnit unit;


    public ZyUnit getUnit() {
        return unit;
    }

    public void setUnit(ZyUnit unit) {
        this.unit = unit;
    }

    public ZyBuilding getBuilding() {
        return building;
    }

    public void setBuilding(ZyBuilding building) {
        this.building = building;
    }

    public ZyCommunity getCommunity() {
        return community;
    }

    public void setCommunity(ZyCommunity community) {
        this.community = community;
    }


    public Long getRoomId() {
        return roomId;
    }

    public void setRoomId(Long roomId) {
        this.roomId = roomId;
    }

    public Long getCommunityId() {
        return communityId;
    }

    public void setCommunityId(Long communityId) {
        this.communityId = communityId;
    }

    public Long getBuildingId() {
        return buildingId;
    }

    public void setBuildingId(Long buildingId) {
        this.buildingId = buildingId;
    }

    public Long getUnitId() {
        return unitId;
    }

    public void setUnitId(Long unitId) {
        this.unitId = unitId;
    }

    public Integer getRoomLevel() {
        return roomLevel;
    }

    public void setRoomLevel(Integer roomLevel) {
        this.roomLevel = roomLevel;
    }

    public String getRoomCode() {
        return roomCode;
    }

    public void setRoomCode(String roomCode) {
        this.roomCode = roomCode;
    }

    public String getRoomName() {
        return roomName;
    }

    public void setRoomName(String roomName) {
        this.roomName = roomName;
    }

    public BigDecimal getRoomAcreage() {
        return roomAcreage;
    }

    public void setRoomAcreage(BigDecimal roomAcreage) {
        this.roomAcreage = roomAcreage;
    }

    public BigDecimal getRoomCost() {
        return roomCost;
    }

    public void setRoomCost(BigDecimal roomCost) {
        this.roomCost = roomCost;
    }

    public String getRoomStatus() {
        return roomStatus;
    }

    public void setRoomStatus(String roomStatus) {
        this.roomStatus = roomStatus;
    }

    public String getRoomIsShop() {
        return roomIsShop;
    }

    public void setRoomIsShop(String roomIsShop) {
        this.roomIsShop = roomIsShop;
    }

    public String getRoomSCommercialHouse() {
        return roomSCommercialHouse;
    }

    public void setRoomSCommercialHouse(String roomSCommercialHouse) {
        this.roomSCommercialHouse = roomSCommercialHouse;
    }

    public String getRoomHouseType() {
        return roomHouseType;
    }

    public void setRoomHouseType(String roomHouseType) {
        this.roomHouseType = roomHouseType;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return "ZyRoom{" +
                "roomId=" + roomId +
                ", communityId=" + communityId +
                ", buildingId=" + buildingId +
                ", unitId=" + unitId +
                ", roomLevel=" + roomLevel +
                ", roomCode='" + roomCode + '\'' +
                ", roomName='" + roomName + '\'' +
                ", roomAcreage=" + roomAcreage +
                ", roomCost=" + roomCost +
                ", roomStatus='" + roomStatus + '\'' +
                ", roomIsShop='" + roomIsShop + '\'' +
                ", roomSCommercialHouse='" + roomSCommercialHouse + '\'' +
                ", roomHouseType='" + roomHouseType + '\'' +
                ", createBy='" + createBy + '\'' +
                ", createTime=" + createTime +
                ", updateBy='" + updateBy + '\'' +
                ", updateTime=" + updateTime +
                ", remark='" + remark + '\'' +
                ", building=" + building +
                ", community=" + community +
                ", unit=" + unit +
                '}';
    }
}
